在 Line Bot 的撰寫上,搞清楚訊息很重要,清楚之後才能利用或是拿取到想要的資訊,因此在開始撰寫機器人之前要先了解 Line 裡面訊息的樣式、屬性以及提取方式。
這篇我們會複習以前的訊息類型,並講一下 Line 訊息的通用屬性,以便深入了解 Line 訊息讓未來使用上更得心應手。
通用屬性也就是每一則訊息不論格式都有的屬性,總共有六種:type、mode、timestamp、source、webhookEventId、deliveryContext.isRedelivery。
資料型態:String
前兩項的訊息會很常用的,可以先記得~
資料型態:String
資料型態:Number
資料型態:Object
type | userId | groupId | roomId | |
---|---|---|---|---|
user | User | 使用者代碼 | 無 | 無 |
group chat | group | 使用者代碼,只包含在 Message event 中 | 群組代碼 | 無 |
multi-person chat | room | 使用者代碼,只包含在 Message event 中 | 無 | 聊天室代碼 |
資料型態:String
資料型態:Boolean
當有文字訊息發出時會出現以下屬性資料。
events[0].message.text
:獲取第一則訊息的文字內容。{
"destination": "xxxxxxxxxx",
"events": [
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"mode": "active",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"webhookEventId": "01FZ74A0TDDPYRVKNK77XKC3ZR",
"deliveryContext": {
"isRedelivery": false
},
"message": {
"id": "325708",
"type": "text",
"text": "@example Hello, world! (love)",
"emojis": [
{
"index": 23,
"length": 6,
"productId": "5ac1bfd5040ab15980c9b435",
"emojiId": "001"
}
],
"mention": {
"mentionees": [
{
"index": 0,
"length": 8,
"userId": "U850014438e..."
}
]
}
}
}
]
}
接下來下一篇會來介紹 Postback event,並做簡單範例喔(❛◡❛✿)!